package cn.huiyunche.base.service.mappers.ext;

import cn.huiyunche.base.service.vo.DUserVo;
import cn.huiyunche.base.service.vo.PageVo;
import cn.huiyunche.base.service.vo.SupplierDriverVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * The interface D user view mapper.
 */
public interface DUserViewMapper {

    /**
     * 查询总条数
     *
     * @param dUserVo the d user vo
     * @param pageVo  the page vo
     * @return int int
     */
    int countByExample(@Param("dUserVo") DUserVo dUserVo, @Param("pageVo") PageVo pageVo);

    /**
     * 查询用户列表
     *
     * @param dUserVo the d user vo
     * @param pageVo  the page vo
     * @return list list
     */
    List<DUserVo> selectByExample(@Param("dUserVo") DUserVo dUserVo, @Param("pageVo") PageVo pageVo);

    /**
     * 查询用户列表 不分页
     *
     * @param dUserVo the d user vo
     * @param pageVo  the page vo
     * @return list list
     */
    List<DUserVo> selectByCondition(@Param("phone") String phone);

    /**
     * Count drivers by s user id for supplier int.
     *
     * @param paramsMap the params map
     * @return the int
     */
    int countDriversBySUserIdForSupplier(Map<String, Object> paramsMap);

    /**
     * Gets drivers by s user id for supplier.
     *
     * @param paramsMap the params map
     * @return the user driver by s user id for supplier
     */
    List<SupplierDriverVo> getDriversBySUserIdForSupplier(Map<String, Object> paramsMap);
}
